
Suite au précédent épisode, il est temps d'en découvrir un peu plus sur la programmation en reprenant un jeu de questions / réponses à l'image de Qui veut gagner des millions.
Pour commencer, on va poser une question au joueur.
Pour rappel, on créée un nouveau programme avec la commande suivante:

Pour afficher une question, il suffit d'éditer le fichier Million.cosmos et d'y ajouter:

Pour vérifier si cela fonctionne, on peut lancer le programme:

Dans le jeu original, on propose plusieurs possibilités et on pourrait s'inspirer de la question pour ajouter le code suivant:

En testant le programme, on s'aperçoit que le résultat n'est pas satisfaisant:

En fait, on doit indiquer à l'ordinateur si on veut des retours à la ligne ou pas.
En l'occurrence, on en veut plusieurs !
Pour indiquer un retour à la ligne, on utilise la notation \n, ce qui dans notre exemple donnerait:


Maintenant que la question est posée, l'utilisateur va appuyer sur le clavier et on va devoir réagir.
S'il répond juste, on affiche la question suivante et sinon on lui dit au revoir.
Avec le verbe Afficher on envoie une information à l'utilisateur (OUTPUT).
Pour le clavier, c'est l'inverse, on reçoit une information de la part de l'utilisateur (INPUT). Dans ce cas, les mots à utiliser sont:
Récupérer la saisie et la stocker dans la zone mémoire nommée <#zoneMemoire>.
Ajoutons donc ceci au programme:

Et en testant, on remarque que le programme se met en pause. En fait, il attend une saisie du clavier.
Il faut donc entrer un caractère et valider avec la touche ENTER, ce qui donne:

On a 2 problèmes à résoudre:
En réutilisant ce qu'on connaît déjà, on va juste afficher du texte pour que l'utilisateur comprenne ce qu'il doit faire:


Un ordinateur est un peu comme un bureau avec des tiroirs, ça veut dire qu'on peut y ranger des informations et les retrouver, du moment qu'on se rappelle dans quel tiroir on l'a mis (bien sûr, on pourrait essayer chaque tiroir mais imaginez-vous une commode avec plus de 4 milliards de tiroirs ;-)).
Bref, pour créer un tiroir et lui donner une étiquette pour le retrouver, on écrit:

Le programme devrait maintenant fonctionner:


Maintenant que l'utilisateur a donné sa réponse, on va lui dire s'il peut continuer ou s'il doit déjà s'arrêter.
Pour cela, on va utiliser la syntaxe d'une condition :

Avec comme résultat pour une mauvaise réponse :

Et pour une bonne réponse:

Maintenant que la recette est connue pour une question, il suffit de répéter pour les suivantes.
Voici donc un extrait pour une deuxième question à partir duquel s'inspirer pour préparer 10 questions:

Dans certains extraits de code source, il y avait des lignes précédées par les caractères //.
Ceci indique à l'ordinateur d'ignorer cette ligne et est utilisé pour aider la personne qui programme à se retrouver dans le code.
L'invitation est donc d'en ajouter pour faciliter la lecture ou expliquer un élément particulier:

Certains éléments se répètent plusieurs fois et au cas où on voudrait les changer plus tard, il est utile de les regrouper :

Ainsi, on va utiliser la mémoire pour stocker des éléments réutilisables :

Comme ça, si on voulait modifier ce message qui se répète partout, il suffit de le faire à un seul endroit:


En partant de la solution actuelle, il est temps d'ajouter encore 8 questions pour arriver au million.
Bon courage ;-)
Cet atelier était riche en découvertes, surtout quand on débute en programmation.
Voici donc un quizz récapitulatif: